Amzon EFS アーカイブと、One Zone 低頻度アクセスどちらが安いのか現実的なラインの利用費を試算をしてみた
Amazon EFS に新登場した長期保存向けのストレージクラス「アーカイブ」。既存のファイルシステムタイプで可用性と耐久性を犠牲にしたことにより容量単価の安い「One Zone」。EFS 上にデータを長期間保存するならどちらがお得なのか試算する機会がりました。
AWS ParallelCluster に EFS をマウントしている実環境のデータをベースに試算し、確認結果を踏まえて EFS の設定を見直すことになりましたので紹介します。
確認結果
EFS に保存するデータ量は 5TB とし、アクティブなデータは全体の 5%、非アクティブなデータは全体の 10%、コールドデータは残りの 85%を占めると仮定して試算しました。
順位 | ファイルシステムタイプ | スループットモード | 月額 | 差額 | 備考 |
---|---|---|---|---|---|
1 | One Zone | Elastic / Bursting | $117 | - | 標準 → IA |
2 | リージョナル | Elastic | $143 | +$26 | 標準 → IA → アーカイブ |
3 | リージョナル | Bursting | $185 | +$42 | 標準 → IA |
データ保存コストだけみれば One Zone は安いという結果になりました。 One Zone はアーカイブクラスを利用できません。ですが、可用性と耐久性を犠牲にしている分、容量単価がだいぶ安く、リージョナルと One Zone の標準ストレージクラスの容量単価の差が最終的なコスト差に繋がりました。
※ 備考の IA(Infrequent Access) は低頻度アクセスクラスのことです。
料金試算の背景と前提条件
背景
ゲノム解析用途で利用している AWS ParallelCluster の実行環境があり、ParallelCluster で作成したクラスターは複数あります。要はスパコン一式が複数個存在しています。
クラスター間で共有するファイルストレージの 1 つに EFS をマウントして共有してデータがあります。ParallelCluster のコンポーネントすべてがマルチ AZ に対応していないこともあり、容量単価の安い EFS の One Zone ファイルシステムを利用しているシステムも一部あります。
この度アーカイブクラスが登場したことにより、以下の 3 パターンでお得に利用できる組み合わせを確認するために試算してみることにしました。
項番 | ファイルシステムタイプ | スループットモード | 主に使うストレージクラス |
---|---|---|---|
1 | リージョナル | Elastic | アーカイブ |
2 | リージョナル | Bursting | 低頻度アクセス |
3 | One Zone | Elastic / Bursting | 低頻度アクセス |
アーカイブクラスについては以下のリンクをご参照ください。
当然、長期間データを保存するなら S3 へ退避がベターな方法です。ですが、手元で検証していたデータなどは「後で使うからと言いつつ、時間に追われ放置しまいがち」ではないでしょうか?あとは定期的に EFS から不要なデータの削除や、S3 へ退避する処理が EFS を利用するシステムに実装されていない場合も同様のことが言えます。
人間の怠慢さを踏またうえでより経済的に AWS を利用する方法を確認することに主眼を置いています。
前提条件
執筆時点の東京リージョンの価格を参考に試算します。
ファイルシステムタイプ | ストレージクラス | 単価(GB/月) | 備考 |
---|---|---|---|
リージョナル | 標準 | $0.36 | |
リージョナル | 低頻度アクセス | $0.02 | |
リージョナル | アーカイブ | $0.01 | Elastic スループットモードのみ利用可 |
One Zone | 標準 | $0.192 | AZを跨いだ通信で課金 $0.01/GB |
One Zone | 低頻度アクセス | $0.0145 | 〃 |
ユーザーが保存したデータに対してのアクセス頻度の割合は以下の情報を参考にします。こちらは re:Invent 2023 で EFS に関するセッション内で紹介されていました。
- アクティブデータ: 5 - 10%
- 非アクティブデータ: 10 - 20%
- コールドデータ: 70 - 80%
画像引用: AWS re:Invent 2023 - [LAUNCH] Lower costs by up to 97% with Amazon EFS Archive (STG228) - YouTube
データ種別毎の保存割合
EFS に保存する合計のデータ量は 5TB とし、5TB のデータ種別毎の内訳は以下とします。意図的にコールドデータの割合が大きくなるように、アクティブ、非アクティブデータは参照元のデータの下限値のパーセンテージを採用しています。
データ種別 | 保存容量(GB) | 割合 |
---|---|---|
アクティブデータ | 250 | 5% |
非アクティブデータ | 500 | 10% |
コールドデータ | 4,250 | 85% |
ストレージクラスを以下の様に当てはめます。ただし、アーカイブクラスが利用可能なのはリージョナルファイルシステムかつ、Elastic スループットモードを選択したときのみです。アーカイブクラスが利用できない条件ものは低頻度アクセスクラスに非アクティブ、コールドデータともに保存することします。
- アクティブデータ → 標準ストレージクラス
- 非アクティブデータ → 低頻度アクセスクラス
- コールドデータ → アーカイブクラス
ストレージコスト比較
アーカイブクラスを使えない One Zone ファイルシステムタイプがデータを保存しておくだけなら今回の想定した 3 パターンの中では最安値でした。
順位 | ファイルシステムタイプ | スループットモード | 月額 | 差額 |
---|---|---|---|---|
1 | One Zone | Elastic / Bursting | $117 | - |
2 | リージョナル | Elastic | $143 | +$26 |
3 | リージョナル | Bursting | $185 | +$42 |
容量単価の表をよく確認してみると One Zone の低頻度アクセスの容量単価がアーカイブと大差なく、リージョナルと比べると標準ストレージクラスの容量単価が半額なのでここ差が目立つ結果となりました。
リージョナル - Elastic - アーカイブ
月額の保存料金は $143 でした。今回は考慮しませんが保存コスト以外の課金要素は以下になります。
- 読み書きの従量課金あり(Read: $0.04/GB, Write: $0.07/GB)
ファイルシステムタイプ | ストレージクラス | 保存容量(GB) | 月額 |
---|---|---|---|
リージョナル | 標準 | 250 | $90 |
リージョナル | 低頻度アクセス | 500 | $10 |
リージョナル | アーカイブ | 4,250 | $43 |
リージョナル - Bursting - 低頻度アクセス
月額の保存料金は $185 でした。
ファイルシステムタイプ | ストレージクラス | 保存容量(GB) | 月額 |
---|---|---|---|
リージョナル | 標準 | 250 | $90 |
リージョナル | 低頻度アクセス | 4,750 | $95 |
One Zone - Elastic or Bursting - 低頻度アクセス
月額の保存料金は $117 でした。保存コスト以外の課金要素配下になります。
- AZ 跨いだ場合の通信料($0.01/GB)
- Elastic スループットモード時は読み書きの従量課金(Read: $0.04/GB, Write: $0.07/GB)
ファイルシステムタイプ | ストレージクラス | 保存容量(GB) | 月額 |
---|---|---|---|
One Zone | 標準 | 250 | $48 |
One Zone | 低頻度アクセス | 4,750 | $69 |
総括
アーカイブクラスが有利になるよう意図的にアクティブデータの割合を 5% と低い値を採用したのですが、それでも One Zone が安い結果となりました。
高いレベルで可用性と耐久性が求められていないシステムでしたら One Zone ファイルシステムタイプを採用するのはストレージコストだけみれば良い選択と言えます。EFS は AWS Backup でバックアップとれるため、AZ 障害によるデータロスト対策は取りましょう。また、AZ を跨いだ通信量が多くないケースであれば検討できるのではないでしょうか。
re:Invent 2023 で発表された EFS のアップデートはリージョナルファイルシステムタイプか、Elstic スループットモードだと恩恵を受けるものが多かったです。この組み合わせが現在の推奨設定となっているため、AWS さんも優先して手をかけてくれるのは当然なのかもしれません。
EFS の設定を見直した
今回はゲノム解析のワークロードで使用していることもあり、EFS においてあるデータをソースにして解析処理をかけることもあります。ある程度のリード性能は確保したいため、よしなにスループットを調整してくれる Elastic スループットモードを利用し、アーカイブも使う構成に落ち着きました。今までは One Zone と Bursting の組み合わせと、リージョナルと、Bursting の組み合わせで運用していました。
※ スループットモードを Bursting から Elastic に変更した影響でファイルアクセスの従量課金(Read/Write)が発生します。
スループットモードの変更は容易にできますが、ファイルシステムタイプの変更はできません。One Zone のメリット・デメリットを把握した上で One Zone を採用される場合はまったく問題ありませんが、よく検討されていないでしたら推奨設定のリージョナルを選択していただ方が無難です。
おわりに
想像よりも One Zone が価格設定がだいぶ安かったです。コスト最適化のために現状の EFS の利用状況を確認し、One Zone または、アーカイブクラスが使えないか見直しされるとよろしいかと思います。
AWS ParallelCluster は 2023 年 1 月のアップデートでコンピュートノートがマルチ AZ 対応しました。EFS One Zone だと AZ またぎのデータ通信量が発生することも考えられます。ParallelCluster も以前に比べ設計面で考慮する箇所が増えました。知識のアップデートも必要ですね。